package org.example.redpacket.service;

import org.example.redpacket.model.dto.RedPacketActivityDTO;
import org.example.redpacket.model.dto.UserReceiveRedPacketDTO;
import org.example.redpacket.model.po.ActivityPO;

import java.math.BigDecimal;
import java.util.List;

/**
 * 活动相关功能的 接口定义
 *
 * @author: hero生仔
 */
public interface ActivityService {
    /**
     * 根据活动id 查询活动剩余的金额
     *
     * @param activityId activityId
     * @return 剩余的金额
     */
    BigDecimal queryActivityAmountLeft(String activityId);

    /**
     * 上架红包活动
     *
     * @param list list
     * @return 添加的条数
     */
    Integer batchInsertRedPacketActivity(List<RedPacketActivityDTO> list);

    /**
     * 领取红包
     *
     * @param userReceiveRedPacketDTO userReceiveRedPacketDTO
     * @return 领取的金额
     */
    BigDecimal receiveRedPacket(UserReceiveRedPacketDTO userReceiveRedPacketDTO);

    /**
     * 查询活动是否存在
     *
     * @param activityId activityId
     * @return 领取的金额
     */
    ActivityPO qryActivity(String activityId);
}
